package ctr.util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateUtil extends Date {


	private static final long serialVersionUID = -1875981288045712454L;

	/**
	 * Saisie d'une date dans format donn�.
	 * @param message : Message � afficher.
	 * @param format : Format de la date demand�e ex : 'dd/MM/yyyy' voir <code>DateFormat</code>
	 * @param acceptVide : Si rien n'est saisi lors de la validation, il renverra null 
	 * 		  sinon boucle jusqu'a ce qu'une bonne valeur soit saisie.
	 * @return java.util.Date ou null si annuler.
	 */
	public static Date checkDate(String format, String date){
		Date dateCreer = null;
		SimpleDateFormat sdf = new SimpleDateFormat(format);
		sdf.setLenient(false);
		if (date != null && !date.equals("")){
			try {
				boolean exacte = true;
				// Test du format
				if ( date.length() == format.length()){
					int i = 0 ;
					for (char caracatere : date.toCharArray()) {
						if ( (i == 2 || i == 5 ) && caracatere != '/'){
							exacte = false;
							break;
						}
						i++;
					};
				}else{
					exacte = false;
				}
				
				if ( exacte ){
					dateCreer = sdf.parse(date);
				}else{
					throw new ParseException("", 0);
				}
			} catch (ParseException e) {
				e.printStackTrace();
			}
		}
		return dateCreer;
	}
	
}